package com.ynet.middleground.contract.bean;

import javax.validation.constraints.NotBlank;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * @author liulx
 * @description Pdf 合成外部签名
 * @date 2020-04-23 11:11
 */
@Data
@EqualsAndHashCode(callSuper = false)
@ApiModel(value = "Pdf 合成外部签名请求类", description = "Pdf 合成外部签名请求类，使用 cfca 证书")
public class SynthesizeOuterSignatureReq extends EnterpriseBaseReqObj {

    private static final long serialVersionUID = -830721533283210345L;

    @ApiModelProperty(value = "P7分离式哈希签名值", notes = "P7分离式哈希签名值", dataType = "String", required = true)
    @NotBlank(message = "P7分离式哈希签名值不能为空")
    private String signature;

    @ApiModelProperty(value = "保留值标识", notes = "保留值标识", dataType = "String", required = true)
    @NotBlank(message = "保留值标识不能为空")
    private String sessionId;

    @ApiModelProperty(value = "PDF 文件短路径地址(包含 Bucket) \n  如：zhongtai/file.pdf",
        notes = "PDF 文件短路径地址(包含 Bucket) \n  如：zhongtai/file.pdf", dataType = "String", required = true)
    @NotBlank(message = "PDF 文件地址不能为空")
    private String pdfUrl;

    @ApiModelProperty(value = "关联合约 id，如果是通过中台生成的合约该项必填", notes = "关联合约 id，如果是通过中台生成的合约该项必填", dataType = "Integer")
    private Integer contractId;

    @ApiModelProperty(value = "场景描述", notes = "场景描述", dataType = "String")
    private String sceneDesc;

}
